$(function () {
  // console.log(123);
  /* 
    1. 分析页面的布局
    2. 分析项目的具体功能
    3. 引入 jQuery和js
    4. 实现功能
  */
  // 1. 全选
  $(".checkall").change(function () {
    var flag = $(this).prop("checked");
    // console.log(flag);
    $(".j-checkbox, .checkall").prop("checked", flag);
    // 8.添加背景色
    if(flag){
      $(".cart-item").addClass("check-cart-item");
    } else {
      $(".cart-item").removeClass("check-cart-item");
    }
  });
  // 2. 被动全选
  $(".j-checkbox").change(function () {
    // 已选中的 input 数量和商品的列表总数比较
    var list = $(".j-checkbox:checked");
    console.log(list.length);
    if (list.length == $(".j-checkbox").length) {
      $(".checkall").prop("checked", true);
    } else {
      $(".checkall").prop("checked", false);
    }
    // 8.添加背景色
    // console.log($(this));
    var flag = $(this).prop("checked");
    if( flag){
      $(this).parents(".cart-item").addClass("check-cart-item");
    } else {
      $(this).parents(".cart-item").removeClass("check-cart-item");
    }
  });
  // 3. 商品数量加减模块
  $(".increment").click(function () {
    var n = $(this).siblings(".itxt").val();
    // console.log(n);
    n++;
    $(this).siblings(".itxt").val(n);
    // 4. 商品小计模块
    var p = $(this).parents(".p-num").siblings(".p-price").html();
    // 字符串切割
    p = p.substr(1);
    // console.log(p);
    sum = n * p;
    // 保留后两位
    sum = sum.toFixed(2);
    // console.log(sum);
    $(this)
      .parents(".p-num")
      .siblings(".p-sum")
      .html("￥" + sum);
    getSum();
  });
  $(".decrement").click(function () {
    var n = $(this).siblings(".itxt").val();
    // console.log(n);
    if (n == 1) {
      return;
    }
    n--;
    $(this).siblings(".itxt").val(n);
    // 4. 商品小计模块
    var p = $(this).parents(".p-num").siblings(".p-price").html();
    p = p.substr(1);
    sum = n * p;
    sum = sum.toFixed(2);
    $(this)
      .parents(".p-num")
      .siblings(".p-sum")
      .html("￥" + sum);
    getSum();
  });
  // 5. 直接修改商品数量
  $(".itxt").change(function () {
    var n = $(this).val();
    console.log(n);
    var p = $(this).parents(".p-num").siblings(".p-price").html();
    p = p.substr(1);
    sum = n * p;
    sum = sum.toFixed(2);
    $(this)
      .parents(".p-num")
      .siblings(".p-sum")
      .html("￥" + sum);
    getSum();
  });

  getSum();
  // 6. 总计
  function getSum() {
    var count = 0; // 总件数
    var money = 0; // 总额

    // 遍历元素
    $(".itxt").each(function (i, ele) {
      var temp = $(ele).val();
      count = count + parseInt(temp);
      console.log(temp);
    });

    $(".p-sum").each(function (i, ele) {
      // console.log(ele);
      var temp = $(ele).html();
      // 截取字符串
      temp = temp.substr(1);
      // console.log(temp);
      // 字符串转化为小数
      temp = parseFloat(temp);
      // 求和
      money = money + temp;
    });
    // 取后两位
    money = money.toFixed(2);
    // console.log(money);
    // 重新赋值
    $(".amount-sum em").html(count);
    $(".price-sum em").html("￥" + money);
  }

  // 7.删除商品
  // 7.1删除单个商品
  $(".p-action a").click(function() {
    $(this).parents(".cart-item").remove();
    getSum();
  });

  // 7.2删除选择商品
  $(".remove-batch").click(function() {
    $(".j-checkbox:checked").parents(".cart-item").remove();
    getSum();
  });
  // 7.3删除全部
  $(".clear-all").click(function() {
    $(".cart-item").remove();
    getSum();
  });
});
